package MyTest;

import org.junit.*;

//测试业务:对项目业务代码进行测试
public class TestBusiness {

    //在执行全部测试方法之前，先执行以下代码
    @BeforeClass
    public static void bfc(){
        System.out.println("在执行bfc方法，在全部测试方法之前执行且只执行一次");
    }

    //执行每个测试代码之前都会先执行以下的方法
    @Before
    public void bf(){
        System.out.println("在执行bf方法啦!!!");
    }

    //执行每个测试代码之后都会执行以下的方法
    @After
    public void at(){
        System.out.println("在执行at方法啦!!!");
    }


    //在执行全部测试方法之后，再执行以下代码
    @AfterClass
    public static void atc(){
        System.out.println("在执行atc方法，在全部测试方法之后执行且只执行一次");
    }


    //针对每一个方法进行测试，定义测试方法必须是公开、无参、无返回值
    //对业务一代码进行测试
    //记得要加上注解
    @Test
    public void testPrintLength(){
        //然后调用业务一的代码，列举实际例子
        ProjectBusiness.printLength("你好世界!!!");
        ProjectBusiness.printLength("你好小板");
        ProjectBusiness.printLength(null);
        System.out.println("业务代码一执行完毕！！！");
    }

    //对业务二代码进行测试
    @Test
    public void testGetMaxIndex(){
        //接着调用业务二的方法
        int index1 = ProjectBusiness.getMaxIndex(null);
        //进行断言
        Assert.assertEquals("此处出现 BUG 啦!!!",0,index1);

        int index2 = ProjectBusiness.getMaxIndex("你好鸭小板");
        //进行断言
        Assert.assertEquals("此处出现 BUG 啦!!!",4,index2);
        System.out.println("业务代码二执行完毕！！！");
    }

}
